package br.com.velp.vskygeo.controller;

import br.com.velp.vskygeo.dto.OcorrenciaResultadoConsultaDTO;
import br.com.velp.vskygeo.dto.UltimoDadoLidoResultadoConsultaDTO;
import br.com.velp.vskygeo.enumerator.StatusMonitoramentoEnum;
import br.com.velp.vskygeo.enumerator.TipoTransmissaoEnum;

/**
 *
 * @author Eduardo
 */
public class ControllerPrincipalUtils {
    
    public static String obterImagemAmbulanciaMapa(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        
        short statusMonitoramento = ultimoDadoLido.getStatusMonitorado();
        
        if (StatusMonitoramentoEnum.LIVRE.getValue().equals(statusMonitoramento)) {
            return "./resources/imagens/ambulancia.png";
        } else if (StatusMonitoramentoEnum.OCUPADO_VERMELHO.getValue().equals(statusMonitoramento)) {
            return "./resources/imagens/ambulancia_vermelha.png";
        } else if (StatusMonitoramentoEnum.OCUPADO_AMARELO.getValue().equals(statusMonitoramento)) {
            return "./resources/imagens/ambulancia_amarela.png";
        } else {
            return "./resources/imagens/ambulancia_verde.png";
        }
        
    }
    
    public static String obterImagemAmbulancia(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        
        short statusMonitoramento = ultimoDadoLido.getStatusMonitorado();
        
        if (StatusMonitoramentoEnum.LIVRE.getValue().equals(statusMonitoramento)) {
            return "/vskygeo/resources/imagens/monit_branco.png";
        } else if (StatusMonitoramentoEnum.OCUPADO_VERMELHO.getValue().equals(statusMonitoramento)) {
            return "/vskygeo/resources/imagens/monit_vermelho.png";
        } else if (StatusMonitoramentoEnum.OCUPADO_AMARELO.getValue().equals(statusMonitoramento)) {
            return "/vskygeo/resources/imagens/monit_amarelo.png";
        } else {
            return "/vskygeo/resources/imagens/monit_verde.png";
        }
        
    }
    
    public static String obterImagemAlerta(OcorrenciaResultadoConsultaDTO ocorrencia) {
        
        short statusMonitoramento = ocorrencia.getStatusMonitorado();
        
        if (StatusMonitoramentoEnum.LIVRE.getValue().equals(statusMonitoramento)) {
            return "/resources/imagens/alert_green.png";
        } else if (StatusMonitoramentoEnum.OCUPADO_VERMELHO.getValue().equals(statusMonitoramento)) {
            return "/resources/imagens/alert_red.png";
        } else if (StatusMonitoramentoEnum.OCUPADO_AMARELO.getValue().equals(statusMonitoramento)) {
            return "/resources/imagens/alert_yellow.png";
        } else {
            return "/resources/imagens/alert_green.png";
        }
        
    }
    
    public static String obterTitleImagemAmbulancia(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        
        short statusMonitoramento = ultimoDadoLido.getStatusMonitorado();
        
        if (StatusMonitoramentoEnum.LIVRE.getValue().equals(statusMonitoramento)) {
            return "Disponível";
        } else {
            return "Em Atendimento";
        }
        
    }
    
    public static String obterImagemGpsOnOff(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        
        if (ultimoDadoLido.getGpsLigado() == new Short("1")) {
            return "/vskygeo/resources/imagens/gps_on.png";
        } else {
            return "/vskygeo/resources/imagens/gps_off.png";
        }
        
    }
    
    public static String obterTitleGpsOnOff(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        if (ultimoDadoLido.getGpsLigado() == new Short("1")) {
            return "GPS Ligado";
        } else {
            return "GPS Desligado";
        }
        
    }
    
    public static String obterImagemIgnicaoOnOff(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        
        if (ultimoDadoLido.getIgnicaoLigada() == new Short("1")) {
            return "/vskygeo/resources/imagens/key_on.png";
        } else {
            return "/vskygeo/resources/imagens/key_off.png";
        }
        
    }
    
    public static String obterTitleIgnicaoOnOff(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        
        if (ultimoDadoLido.getIgnicaoLigada() == new Short("1")) {
            return "Ignição Ligada";
        } else {
            return "Ignição Desligada";
        }
        
    }
            
    public static String obterImagemTipoTransmissao(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        
        short tipoTransmissao = ultimoDadoLido.getTipoTransmissao();
        short wifiConectado = ultimoDadoLido.getWifiConectado();
        
        if (TipoTransmissaoEnum.DESCONECTADO.getValue().equals(tipoTransmissao)) {
            return "/vskygeo/resources/imagens/offline.png";
        } else if (TipoTransmissaoEnum.GPRS.getValue().equals(tipoTransmissao)){
            if (wifiConectado == 0) {
                return "/vskygeo/resources/imagens/gprs.png";
            } else {
                return "/vskygeo/resources/imagens/gprs_wifi.png";
            }
        } else {
            if (wifiConectado == 0) {
                return "/vskygeo/resources/imagens/satelite.png";
            } else {
                return "/vskygeo/resources/imagens/satelite_wifi.png";
            }
        }
        
    }
            
    public static String obterTitleTipoTransmissao(UltimoDadoLidoResultadoConsultaDTO ultimoDadoLido) {
        
        short tipoTransmissao = ultimoDadoLido.getTipoTransmissao();
        short wifiConectado = ultimoDadoLido.getWifiConectado();
        
        if (TipoTransmissaoEnum.DESCONECTADO.getValue().equals(tipoTransmissao)) {
            return "Conexão OffLine";
        } if (TipoTransmissaoEnum.GPRS.getValue().equals(tipoTransmissao)){
            if (wifiConectado == 0) {
                return "Conexão GPRS";
            } else {
                return "Conexão GPRS Via Tablet";
            }
        } else {
            if (wifiConectado == 0) {
                return "Conexão Satelital";
            } else {
                return "Conexão Satelital Via Tablet";
            }
        }
        
    }    
    
}
